/*

Miranda IM: the free IM client for Microsoft* Windows*

Copyright 2000-2007 Miranda ICQ/IM project, 
all portions of this codebase are copyrighted to the people 
listed in contributors.txt.

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or ( at your option ) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
aLONG with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

*/
#ifndef _UINFOEX_ICONS_H_INCLUDED_
#define _UINFOEX_ICONS_H_INCLUDED_ 1

#include "m_icolib.h"

namespace NIcoLib 
{
	// sections
	#define SECT_COMMON			"UserInfoEx"
	#define SECT_DLG				"UserInfoEx/Dialogs"
	#define SECT_BUTTONS		"UserInfoEx/Buttons"
	#define SECT_TREE				"UserInfoEx/TreeView"
	#define SECT_REMIND			"UserInfoEx/Reminder"
	#define SECT_TOOLBAR		"UserInfoEx/Toolbar"

	// icons
	#define ICO_COMMON_IM						MODNAME"_common_im"
	#define ICO_COMMON_FEMALE				MODNAME"_common_female"
	#define ICO_COMMON_MALE					MODNAME"_common_male"
	#define ICO_COMMON_BIRTHDAY			MODNAME"_common_birthday"
	#define ICO_COMMON_ANNIVERSARY	MODNAME"_common_anniversary"
	#define ICO_COMMON_CLOCK				MODNAME"_common_clock"
	#define ICO_COMMON_MARITAL			MODNAME"_common_marital"
	#define ICO_COMMON_PASSWORD			MODNAME"_common_password"
	#define ICO_COMMON_ADDRESS			MODNAME"_common_address"
	#define ICO_DLG_DETAILS					MODNAME"_dlg_details"
	#define ICO_DLG_PHONE						MODNAME"_dlg_phone"
	#define ICO_DLG_EMAIL						MODNAME"_dlg_email"
	#define ICO_DLG_EXPORT					MODNAME"_dlg_export"
	#define ICO_DLG_IMPORT					MODNAME"_dlg_import"
	#define ICO_DLG_ANNIVERSARY			MODNAME"_dlg_anniversary"
	#define ICO_DLG_SEARCH					MODNAME"_dlg_search"
	#define ICO_LST_MODULES					MODNAME"_lst_modules"
	#define ICO_LST_FOLDER					MODNAME"_lst_folder"
	#define ICO_BTN_UPDATE					MODNAME"_btn_update"
	#define ICO_BTN_OK							MODNAME"_btn_ok"
	#define ICO_BTN_CANCEL					MODNAME"_btn_cancel"
	#define ICO_BTN_APPLY						MODNAME"_btn_apply"
	#define ICO_BTN_GOTO						MODNAME"_btn_goto"
	#define ICO_BTN_ADD							MODNAME"_btn_add"
	#define ICO_BTN_EDIT						MODNAME"_btn_edit"
	#define ICO_BTN_DELETE					MODNAME"_btn_delete"
	#define ICO_BTN_IMPORT					MODNAME"_btn_import"
	#define ICO_BTN_EXPORT					MODNAME"_btn_export"
	#define ICO_BTN_NOTES						MODNAME"_btn_notes"
	#define ICO_BTN_ABOUT						MODNAME"_btn_about"
	#define ICO_BTN_PROFILE					MODNAME"_btn_profile"
	#define ICO_BTN_DOWNARROW				MODNAME"_btn_downarrow"
	#define ICO_BTN_PHONE						MODNAME"_btn_phone"
	#define ICO_BTN_FAX							MODNAME"_btn_fax"
	#define ICO_BTN_CELLULAR				MODNAME"_btn_cellular"
	#define ICO_BTN_CUSTOMPHONE			MODNAME"_btn_customphone"
	#define ICO_BTN_EMAIL						MODNAME"_btn_email"
	#define ICO_BTN_SEARCH					MODNAME"_btn_search"
	#define ICO_BTN_EXIMPORT				MODNAME"_btn_eximport"
	#define ICO_BTN_BDAY_BACKUP			MODNAME"_btn_bdaybackup"
  #define ICO_BTN_YES							MODNAME"_btn_yes"
  #define ICO_BTN_NO							MODNAME"_btn_no"
  #define ICO_BTN_IGNORE					MODNAME"_btn_ignore"
	#define ICO_ZOD_AQUARIUS				MODNAME"_zod_aquarius"
	#define ICO_ZOD_ARIES						MODNAME"_zod_aries"
	#define ICO_ZOD_CANCER					MODNAME"_zod_cancer"
	#define ICO_ZOD_CAPRICORN				MODNAME"_zod_capricorn"
	#define ICO_ZOD_GEMINI					MODNAME"_zod_gemini"
	#define ICO_ZOD_LEO							MODNAME"_zod_leo"
	#define ICO_ZOD_LIBRA						MODNAME"_zod_libra"
	#define ICO_ZOD_PISCES					MODNAME"_zod_pisces"
	#define ICO_ZOD_SAGITTARIUS			MODNAME"_zod_sagittarius"
	#define ICO_ZOD_SCORPIO					MODNAME"_zod_scorpio"
	#define ICO_ZOD_TAURUS					MODNAME"_zod_taurus"
	#define ICO_ZOD_VIRGO						MODNAME"_zod_virgo"
	#define ICO_TREE_DEFAULT				MODNAME"_tree_default"

	#define ICO_RMD_DTB0			MODNAME"_rmd_dtb0"
	#define ICO_RMD_DTB1			MODNAME"_rmd_dtb1"
	#define ICO_RMD_DTB2			MODNAME"_rmd_dtb2"
	#define ICO_RMD_DTB3			MODNAME"_rmd_dtb3"
	#define ICO_RMD_DTB4			MODNAME"_rmd_dtb4"
	#define ICO_RMD_DTB5			MODNAME"_rmd_dtb5"
	#define ICO_RMD_DTB6			MODNAME"_rmd_dtb6"
	#define ICO_RMD_DTB7			MODNAME"_rmd_dtb7"
	#define ICO_RMD_DTB8			MODNAME"_rmd_dtb8"
	#define ICO_RMD_DTB9			MODNAME"_rmd_dtb9"
	#define ICO_RMD_DTBX			MODNAME"_rmd_dtbx"

	#define ICO_RMD_DTA0			MODNAME"_rmd_dta0"
	#define ICO_RMD_DTA1			MODNAME"_rmd_dta1"
	#define ICO_RMD_DTA2			MODNAME"_rmd_dta2"
	#define ICO_RMD_DTA3			MODNAME"_rmd_dta3"
	#define ICO_RMD_DTA4			MODNAME"_rmd_dta4"
	#define ICO_RMD_DTA5			MODNAME"_rmd_dta5"
	#define ICO_RMD_DTA6			MODNAME"_rmd_dta6"
	#define ICO_RMD_DTA7			MODNAME"_rmd_dta7"
	#define ICO_RMD_DTA8			MODNAME"_rmd_dta8"
	#define ICO_RMD_DTA9			MODNAME"_rmd_dta9"
	#define ICO_RMD_DTAX			MODNAME"_rmd_dtax"

	#define SET_ICONS_CHECKFILEVERSION	"CheckIconPackVersion"
	#define SET_ICONS_BUTTONS						"ButtonIcons"

	#define ICONINDEX( id )	max( ( min( ( id ), IDI_LASTICON ) ) - IDI_FIRST_ICON, 0 )

	typedef struct TIconCtrl 
	{
		LPCSTR	pszIcon;
		UINT	Message;
		WORD	idCtrl;
	} ICONCTRL, *LPICONCTRL;

	LPTSTR		GetDefaultIconFileName	();
	VOID			SetCtrlIcons						( HWND hDlg, const ICONCTRL* pCtrl, BYTE numCtrls );

	HANDLE		RegisterIconHandle			( LPSTR szName, LPSTR szDescription, LPSTR szSection, INT idIcon, INT Size );
	HICON			RegisterIcon						( LPSTR szName, LPSTR szDescription, LPSTR szSection, INT idIcon, INT Size );
	HICON			GetIcon									( LPCSTR pszIcon );
	HICON			GetIconByHandle					( HANDLE hIconItem );

	VOID			LoadModule							();

} /* namespace NIcoLib */

#endif /* _UINFOEX_ICONS_H_INCLUDED_ */